package com.xxtx.trade.common.utils;

import java.util.HashMap;
import java.util.Map;

public class DictUtil {

	public static String getM2mCardState(String key) {
		String ret = "0";

		if (key.equals("1")) {
			ret = "07";

		} else if (key.equals("2")) {
			ret = "07";

		} else if (key.equals("3")) {
			ret = "07";

		} else if (key.equals("4")) {
			ret = "00";

		} else if (key.equals("5")) {
			ret = "02";

		} else if (key.equals("6")) {
			ret = "01";

		} else if (key.equals("7")) {
			ret = "04";
		} else {
			ret = "0";
		}

		return ret;
	}

	public static String getCardState(String key) {
		Map<String, String> params = new HashMap<String, String>();
		params.put("00", "正常");
		params.put("01", "单向停机");
		params.put("02", "停机");
		params.put("03", "预销号");
		params.put("04", "销号/拆机");
		params.put("05", "过户");
		params.put("06", "休眠");
		params.put("07", "待激");
		params.put("08", "已停用");
		params.put("09", "库存");
		params.put("10", "已失效");
		params.put("11", "违章停机");
		params.put("12", "挂失");
		params.put("13", "用户报停");
		params.put("14", "表示断网");
		params.put("99", "不存在");

		return params.get(key);

	}

	public static String getCardResult(String key) {

		Map<String, String> params = new HashMap<String, String>();
		params.put("0", "操作成功");
		params.put("-1", "参数错误");
		params.put("-2", "签名错误");
		params.put("-3", "IP验证失败");
		params.put("-4", "产品编码不存在");
		params.put("-5", "费率未配置");
		params.put("-6", "订单重复");
		params.put("-7", "卡号不存在");
		params.put("-8", "余额不足");
		params.put("-9", "扣费失败");
		params.put("-10", "订单不存在");

		return params.get(key);
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.err.println(DictUtil.getFlowFuRatio(122880f));
	}

	// 根据流量计算虚拟流量
	public static int getFlowFuRatio(float f) {
		float flow = 0.0f, t;
		int ratio = (int) f / 1024;
		if (ratio <= 75) {
			flow = f + f * (0.0045f * ratio);
		} else {
			flow = f + f * 0.3375f;
		}
		t = f * (f / flow);
		return (int) t;
	}

	// 根据流量计算虚拟流量
	public static float getFlowRatio(float f) {
		float flow = 0f;
		int ratio = (int) f / 1024;
		if (ratio <= 75) {
			flow = f + f * (0.0045f * (ratio + 2));

		} else {
			flow = f + f * 0.35f;
		}
		return flow;
	}

	// 根据产品ID获取产品名称
	public static String getProductNam(String key) {

		Map<String, String> params = new HashMap<String, String>();

		// 电信1030不限量卡配置
		params.put("DX1030-040", "电信新不限量40G套餐(基础包),40960,基础包");
		params.put("DX1030-060", "电信新不限量60G套餐,61440,基础包");
		params.put("DX1030-100", "电信新不限量100G套餐,102400,基础包");
		params.put("DX1030-010", "电信新不限量10G加油包,10240,加油包");
		params.put("DX1030-020", "电信新不限量20G加油包,20480,加油包");

		params.put("DX1030-020-TM", "电信新不限量20G套餐(基础包),20480,基础包");
		params.put("DX1030-060-TM", "电信新不限量60G套餐(基础包),61440,基础包");

		// 电信1031月套餐卡配置
		params.put("DX1031-03", "电信新3G套餐,3072,加油包");
		params.put("DX1031-05", "电信新5G套餐,5120,加油包");
		params.put("DX1031-10", "电信新10G套餐,10240,加油包");
		params.put("DX1031-15", "电信新15G套餐,15360,加油包");
		params.put("DX1031-20", "电信新20G套餐,20480,加油包");
		params.put("DX1031-30", "电信新30G套餐,30720,加油包");

		// 电信不限量卡配置
		params.put("DX1029", "电信新不限量套餐(基础包),40960,基础包");
		params.put("DX1029-03", "电信新不限量3G加油包,3072,加油包");
		params.put("DX1029-05", "电信新不限量5G加油包,5120,加油包");
		params.put("DX1029-10", "电信新不限量10G加油包,10240,加油包");
		params.put("DX1029-15", "电信新不限量15G加油包,15360,加油包");
		params.put("DX1029-20", "电信新不限量20G加油包,20480,加油包");
		// 电信五福卡配置
		params.put("WF1029-01", "电信新不限量1G加油包,1024,加油包");
		params.put("WF1029-03", "电信新不限量3G加油包,3072,加油包");
		params.put("WF1029-05", "电信新不限量5G加油包,5120,加油包");
		params.put("WF1029-10", "电信新不限量10G加油包,10240,加油包");
		params.put("WF1029-15", "电信新不限量15G加油包,15360,加油包");
		params.put("WF1029-20", "电信新不限量20G加油包,20480,加油包");

		// 妙月标准套餐配置
		params.put("MY1029-0001", "电信1G月包,1024,加油包");
		params.put("MY1029-0006", "电信6G半年包,6144,加油包");
		params.put("MY1029-0012", "电信12G年包,12288,加油包");
		params.put("MY1029-0024", "电信24G年包,24576,加油包");
		params.put("MY1029-0030", "电信30G年包,30720,加油包");
		params.put("MY1029-0036", "电信36G年包,36864,加油包");
		params.put("MY1029-0048", "电信48G年包,49152,加油包");
		params.put("MY1029-0050", "电信50G年包,51200,加油包");
		params.put("MY1029-0100", "电信100G年包,102400,加油包");
		params.put("MY1029-0200", "电信200G年包,204800,加油包");
		params.put("MY1029-1000", "电信1000G年包,1024000,加油包");

		// 妙月小套餐配置
		params.put("MY1029-50101", "电信月包1G(MY-500),1024,加油包");
		params.put("MY1029-50102", "电信月包2G(MY-500),2048,加油包");
		params.put("MY1029-50103", "电信月包3G(MY-500),3072,加油包");
		params.put("MY1029-50106", "电信月包6G(MY-500),6144,加油包");
		params.put("MY1029-50301", "电信季包1G(MY-500),1024,加油包");
		params.put("MY1029-50302", "电信季包2G(MY-500),2048,加油包");
		params.put("MY1029-50304", "电信季包4G(MY-500),4096,加油包");
		params.put("MY1029-50601", "电信半年包1G(MY-500),1024,加油包");
		params.put("MY1029-50603", "电信半年包3G(MY-500),3072,加油包");
		params.put("MY1029-50606", "电信半年包6G(MY-500),6144,加油包");
		params.put("MY1029-50612", "电信半年包12G(MY-500),12288,加油包");
		params.put("MY1029-50624", "电信半年包24G(MY-500),24576,加油包");
		params.put("MY1029-51202", "电信年包2G(MY-500),2048,加油包");
		params.put("MY1029-51203", "电信年包3G(MY-500),3072,加油包");
		params.put("MY1029-51206", "电信年包6G(MY-500),6144,加油包");
		params.put("MY1029-51212", "电信年包12G(MY-500)),12288,加油包");
		params.put("MY1029-51224", "电信年包24G(MY-500),24576,加油包");
		params.put("MY1029-51248", "电信年包48G(MY-500),49152,加油包");

		// 妙月标准月套餐配置

		params.put("MY1029-2062", "电信月套餐40元1GB,1024,加油包");
		params.put("MY1029-2064", "电信月套餐80元3GB,3072,加油包");
		params.put("MY1029-2066", "电信月套餐135元6GB,6144,加油包");
		params.put("MY1029-2067", "电信月套餐175元8GB,8192,加油包");
		params.put("MY1029-2068", "电信月套餐200元10GB,10240,加油包");
		params.put("MY1029-2069", "电信月套餐270元15GB,15360,加油包");
		params.put("MY1029-2070", "电信月套餐350元20GB,20480,加油包");
		params.put("MY1029-2071", "电信月套餐500元30GB,30720,加油包");
		params.put("MY1029-2072", "电信月套餐780元50GB,51200,加油包");

		// 妙月累计套餐配置
		params.put("MY1029-0330", "电信新不限量套餐(季包)-MY,92160,加油包");
		params.put("MY1029-0630", "电信新不限量套餐(半年包),184320,加油包");
		params.put("DX1029-1230", "电信新不限量套餐(年包),368640,加油包");

		// 妙月个人版餐配置
		params.put("MY1029-0650", "电信新不限量套餐(半年包)-307200,加油包");
		params.put("MY1029-1250", "电信新不限量套餐(年包)-MY002,614400,加油包");
		params.put("MY1029-0150", "电信新不限量套餐(月包),51200,加油包");

		// 妙月行业版套餐配置
		params.put("MY1029-1260", "电信新不限量套餐(年包)-MY003,737280,加油包");
		params.put("MY1029-0160", "电信新不限量套餐(月包)-MY003,61440,加油包");
		params.put("MY1029-0660", "电信新不限量套餐(半年包)-MY003,348640,加油包");

		return params.get(key);
	}

	public static String getSdIotDict(String key) {
		HashMap<String, String> dict = new HashMap<String, String>();
		dict.put("GPRS中小流量新1元套餐", "2M(月)");
		dict.put("GPRS中小流量新2元套餐", "5M(月)");
		dict.put("GPRS中小流量新3元套餐", "10M(月)");
		dict.put("GPRS中小流量新5元套餐", "30M(月)");
		dict.put("GPRS中小流量新8元套餐", "100M(月)");
		dict.put("GPRS中小流量新16元套餐", "300M(月)");
		dict.put("GPRS中小流量新24元套餐", "500M(月)");
		dict.put("GPRS中小流量新32元套餐", "700M(月)");
		dict.put("GPRS中小流量新40元套餐", "1G(月)");
		dict.put("GPRS中小流量新60元套餐", "2G(月)");
		dict.put("GPRS中小流量新80元套餐", "3G(月)");
		dict.put("GPRS中小流量新100元套餐", "4G(月)");
		dict.put("GPRS中小流量新140元套餐", "6G(月)");
		dict.put("GPRS中小流量新230元套餐", "11G(月)");

		dict.put("全国通用流量1元套餐", "2M(月)");
		dict.put("全国通用流量2元套餐", "5M(月)");
		dict.put("全国通用流量3元套餐", "10M(月)");
		dict.put("全国通用流量5元套餐", "30M(月)");
		dict.put("全国通用流量8元套餐", "100M(月)");
		dict.put("全国通用流量16元套餐", "300M(月)");
		dict.put("全国通用流量24元套餐", "500M(月)");
		dict.put("全国通用流量32元套餐", "700M(月)");
		dict.put("全国通用流量40元套餐", "1G(月)");
		dict.put("全国通用流量60元套餐", "2G(月)");
		dict.put("全国通用流量80元套餐", "3G(月)");
		dict.put("全国通用流量100元套餐", "4G(月)");
		dict.put("全国通用流量140元套餐", "6G(月)");
		dict.put("全国通用流量230元套餐", "11G(月)");
		dict.put("3个月长期通用流量8元套餐", "20MB(季)");
		dict.put("3个月长期通用流量12元套餐", "50MB(季)");
		dict.put("3个月长期通用流量15元套餐", "100MB(季)");
		dict.put("3个月长期通用流量25元套餐", "300MB(季)");
		dict.put("3个月长期通用流量35元套餐", "500MB(季)");
		dict.put("3个月长期通用流量60元套餐", "1GB(季)");
		dict.put("3个月长期通用流量100元套餐", "2G(季)");
		dict.put("3个月长期通用流量140元套餐", "3G(季)");
		dict.put("3个月长期通用流量200元套餐", "6G(季)");
		dict.put("3个月长期通用流量300元套餐", "12G(季)");
		dict.put("3个月长期通用流量500元套餐", "24G(季)");
		dict.put("3个月长期通用流量700元套餐", "36G(季)");
		dict.put("3个月长期通用流量900元套餐", "48G(季)");
		dict.put("6个月长期通用流量9元套餐", "20MB(半年)");
		dict.put("6个月长期通用流量16元套餐", "50MB(半年)");
		dict.put("6个月长期通用流量20元套餐", "100MB(半年)");
		dict.put("6个月长期通用流量35元套餐", "300MB(半年)");
		dict.put("6个月长期通用流量45元套餐", "500MB(半年)");
		dict.put("6个月长期通用流量70元套餐", "1GB(半年)");
		dict.put("6个月长期通用流量110元套餐", "2G(半年)");
		dict.put("6个月长期通用流量150元套餐", "3G(半年)");
		dict.put("6个月长期通用流量240元套餐", "6G(半年)");
		dict.put("6个月长期通用流量360元套餐", "12G(半年)");
		dict.put("6个月长期通用流量600元套餐", "24G(半年)");
		dict.put("6个月长期通用流量840元套餐", "36G(半年)");
		dict.put("6个月长期通用流量1080元套餐", "48G(半年)");
		dict.put("12个月长期通用流量10元套餐", "20MB(年)");
		dict.put("12个月长期通用流量20元套餐", "50MB(年)");
		dict.put("12个月长期通用流量30元套餐", "100MB(年)");
		dict.put("12个月长期通用流量50元套餐", "300MB(年)");
		dict.put("12个月长期通用流量60元套餐", "500MB(年)");
		dict.put("12个月长期通用流量80元套餐", "1GB(年)");
		dict.put("12个月长期通用流量120元套餐", "2G(年)");
		dict.put("12个月长期通用流量160元套餐", "3G(年)");
		dict.put("12个月长期通用流量280元套餐", "6G(年)");
		dict.put("12个月长期通用流量480元套餐", "12G(年)");
		dict.put("12个月长期通用流量720元套餐", "24G(年)");
		dict.put("12个月长期通用流量960元套餐", "36G(年)");
		dict.put("12个月长期通用流量1200元套餐", "48G(年)");
		dict.put("流量共享（月包模式）可选产品", "共享套餐");
		dict.put("6个月机器卡测试期套餐（原子产品）可选产品", "测试期");
		dict.put("NB-IOT流量年包（B档）", "NB-IOT年包");
		dict.put("流量共享（月包模式）可选产品", "共享套餐");
		dict.put("机器卡主体产品（个人）", "无套餐");
		dict.put("6个月机器卡测试期套餐（原子产品）可选产品", "测试期");
		dict.put("全国定向流量3元套餐", "定向包3元10M年付");
		dict.put("流量加油包10元套餐", "加油包10元100M");
		dict.put("流量加油包40元套餐", "加油包40元5G");
		dict.put("机器卡集团主体产品（集团）", "主套餐");

		return dict.get(key);

	}

}
